<!--

    The contents of this file are subject to the license and copyright
    detailed in the LICENSE and NOTICE files at the root of the source
    tree and available online at

    http://www.dspace.org/license/

-->
<html>
<body>
<p>
The DSpace Services Framework provides the infrastructure of a more
componentized realization of DSpace.  Services, plugins, and providers
are registered with the framework so that they can find each other without
having to know each other too intimately.  This should make it easier to
maintain, extend, and understand DSpace as it evolves.
</p>

<p>The framework consists of:</p>

<dl>
 <dt>kernel</dt>
 <dd>initializes and starts the framework,
     grants ready access to core services</dd>
 <dt>service manager</dt>
 <dd>instantiates, configures, and controls services</dd>
 <dt>core services</dt>
 <dd>configuration, events, and the like</dd>
 <dt>utilities</dt>
 <dd>includes the DSpace object, a starting point in using the framework</dd>
</dl>

<p>
To use the Services Framework, start by creating a running kernel 
instance.
</p>
<ul>
 <li>In a standalone application, you can call {@link 
org.dspace.servicemanager.DSpaceKernelInit#getKernel} to get a reference 
to one.</li>
 <li>In a Spring container, you need to ensure that
{@code spring/spring-dspace-applicationContext.xml} and
{@code spring/spring-dspace-core-services.xml} are loaded.  Then you can
wire references to
  <ul>
   <li>{@code org.dspace.services.CachingService}</li>
   <li>{@code org.dspace.services.SessionService}</li>
   <li>{@code org.dspace.services.RequestService}</li>
   <li>{@code org.dspace.services.EventService}</li>
  </ul>
into your beans as needed.</li>
 <li>In a servlet container, you should configure a
{@link org.dspace.servicemanager.servlet.DSpaceKernelServletContextListener context listener}
to instantiate the kernel and a
{@link org.dspace.utils.servlet.DSpaceWebappServletFilter filter}
to establish the connection between the web application and the 
framework.</li>
</ul>

@see <a href='http://wiki.dspace.org/confluence/display/DSDOC/DSpace+Services+Framework'>
DSpace Services Framework</a>
</body>
</html>
